package peerToPeerFacebook.proj;

import peerToPeerFacebook.src.edu.washington.cs.cse490h.lib.Node;

/**
 * Interface exposing the methods supported by FaceBook API
 */
public interface IFacebookMethods {
	
	/**
	 * Method that represents the login functionality 
	 * of facebook, sets the user field to the username supplied.  
	 * @return String that represents a "Success" or "Failure"
	 */
	public void login(String username);
	
	/**
	 * Method that represents the logout functionality 
	 * of facebook, sets the user field to the null to indicate
	 * that user has logged out of facebook.  
	 * @return String that represents a "Success" or "Failure" 
	 */
	public void logout();
	
	/**
	 * This method creates a new facebook user and 
	 * initializes his account related details
	 * @param String that represents username
	 */
	public void createUser(String username);
	
	/**
	 * This method sends friend Requests to the 
	 * friend (given as input parameter)
	 * @param String which representing the friend
	 * who has sent the request
	 */
	public void sendFriendRequest(String friend);
	
	/**
	 * This method accepts the friend request sent by 
	 * friend (the input parameter)
	 */
	public void acceptFriendRequest(String friend);

	/**
	 * This method returns all messages of the user
	 */
	public void readAllMessages();
	
	/**
	 * This method posts message to all friends of the User
	 */
	public void postMsgToAllFriends(String message);
	

}
